//базовый класс "Геометрическая фигура"
class Geometry{
  //координаты
  float x;
  float y;
  
  Geometry(float x, float y){
    this.x=x;
    this.y=y;
  }
  
  public void moveLeft(){
    x--; // это тоже самое, что и x=x-1;
  }
  
  public void moveRight(){
    x++; // это тоже самое, что и x=x+1;
  }
 
 //отображение геометрической фигуры
 public void display(){
 
 }
  //*** *** ***
  //реализовать по аналогиии с moveLeft, moveRight
  public void moveUp(){}
  public void moveDown(){}
  
}
  //*** *** ***
  //class Triangle extends Geometry{}


//Наследник класса "Геометрическая фигура", прямоугольник
//класс, имя класса, класс является наследником класса Geometry
class    Rectangle   extends Geometry{
  
  private float w; //ширина
  private float h; // высота
  
  //Создаем квадрат, частный случай прямоугольника
  Rectangle(float x, float y, float w){
    super(x,y); //вызов конструктора родителя
    this.w=w;
    this.h=w;
  }
  
  //Создаем прямоугольник
  Rectangle(float x, float y, float w, float h){
    super(x,y);
    this.w = w;
    this.h =h;
  }
  
   public void display(){
     rect(x,y, w, h);
   }
}

 Rectangle rectangle = new Rectangle(10,20,50,30);
 Rectangle quad = new Rectangle(40, 60, 100);
 
 //Rectangle[] rectArr = new Rectangle[]{rectangle, quad};
 Geometry[] rectArr = new Geometry[]{rectangle, quad};
 
   public void setup(){
     background(255);  //фон
     size(400,400);    //размер поля
     
     //rectangle.display();
     //quad.display();
     for(int i=0; i<rectArr.length; i++){
       rectArr[i].display();
     }     
   }
   //Перемещать по диагонали, из левого нижнего угла в правый верхний прямоугольник, тругольник, квадрат.
   //использовать массив, обход массива в цикле, методы moveUp, moveLeft
   public void draw(){
   
   }
